package com.example.login

import android.content.Intent
import android.database.Cursor
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import com.example.R
import com.example.main.MainActivity
import com.example.service.MyService

class LoginActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_login)

        // 创建 DBHelper 类的实例，用于管理名为 "test.db" 的 SQLite 数据库
        val dbHelper = DBHelper(this, "test.db", null, 1)

        // 获取数据库的可写实例
        val db = dbHelper.writableDatabase

        // 获取用户名和密码输入框的引用

        val unametxt = findViewById<EditText>(R.id.username)
        val pswtxt = findViewById<EditText>(R.id.password)

        // 处理登录按钮的点击事件
        val btn = findViewById<Button>(R.id.btn)
        btn.setOnClickListener {
            // 获取用户名和密码输入框中的文本
            val uname = unametxt.text.toString()
            val psw = pswtxt.text.toString()

            // 执行 SQL 查询，以检查输入的用户名和密码是否与数据库中的记录匹配
            val cursor: Cursor = db.query(
                "userInfo",
                arrayOf("uname,psw"),
                "uname=? and psw=?",
                arrayOf(uname, psw),
                null,
                null,
                null
            )

            // 检查查询结果是否为空
            if (cursor.moveToFirst()) {
                // 如果结果不为空，则表示找到了匹配的记录，并且显示 "登录成功" 的 Toast 消息
                Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show()
                // 启动Service
                val sIntent = Intent(this, MyService::class.java)
                startService(sIntent)
                val intent = Intent(this, MainActivity::class.java)
//                清除返回栈
                intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
                startActivity(intent)
            } else {
                // 如果结果为空，则显示 "用户名或密码输入错误" 的 Toast 消息
                Toast.makeText(this, "用户名或密码输入错误", Toast.LENGTH_SHORT).show()
            }
        }

        // 处理注册按钮的点击事件
        val zhuce = findViewById<TextView>(R.id.zhuce)
        zhuce.setOnClickListener {
            // 创建到 MainActivity2 类的意图并启动该活动
            val intent = Intent(this, RegisterActivity::class.java)
            startActivity(intent)
        }
    }
}